/*
 * Texture.h
 *
 *  Created on: 12-05-2013
 *      Author: Jarek
 */

#ifndef TEXTURE_H_
#define TEXTURE_H_

#include "GlobalData.h"

struct Texture
{
	friend class ResourcesManager;
private:
	uint				references;
public:

	GLuint				handle;
	uint				textureWidth;
	uint 				textureHeight;
	uint				imageWidth;
	uint				imageHeight;
	byte*				data;
	char*				name;

	enum IMAGE_TYPE
	{
		IMAGE_TYPE_UNDEFINED	= 0,
		IMAGE_TYPE_RGBA,
		IMAGE_TYPE_RGB,


		IMAGE_TYPE_MAX
	} imageType;

	Texture();
	~Texture();

	GLenum	getGLPixelFormat();
};

#endif /* TEXTURE_H_ */
